home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
91xx
/
9108a.d64
/
demo 1.src
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
1KB
|
39 lines
10 SYS36864
20 .OPT OO
30 *= $C000
40 ; DIESES PROGRAMM DEFINIERT EINEN NEUEN
42 ; BASIC-BEFEHL NAMENS !S. DIESER BEFEHL
44 ; ERZEUGT EINEN TON.
46 ; NIKOLAUS HEUSLER, MUENCHEN, 3.91
100 IBAS =776;VEKTOR FUER BASICBEFEHL
110 CHRGET =115;NAECHSTES ZEICHEN HOLEN
120 INTER =$A7AE;INTERPRETERSCHLEIFE
130 OLDBAS =$A7E7;ALTEN BASICBEFEHL BEARBEITEN
150 SYNTAX =$AF08;SYNTAX ERROR
160 SID =54272;SOUNDCHIP BASISADRESSE
200 ; --- NEUEN BEFEHL DEFINIEREN
300 LDA #<NEUBEF:LDY #>NEUBEF;ZEIGER AUF NEUE BEFEHLSROUTINE
310 STA IBAS:STY IBAS+1;VEKTOR VERBIEGEN
320 RTS;UND FERTIG
330 ; --- NEUEN BASICBEFEHL AUSFUEHREN
340 NEUBEF JSR CHRGET;ERSTES ZEICHEN HOLEN
350 CMP #33;WAR ES DAS AUSRUFEZEICHEN
360 BEQ CALL;JA, DANN NEUER BEFEHL
370 ORA #0;SONST FLAGS SETZEN:JMP OLDBAS;UND NORMAL WEITERMACHEN
380 ; --- AUSRUFEZEICHEN ERKANNT
390 CALL JSR CHRGET;ZEICHEN NACH '!' HOLEN
400 CMP #83;BUCHSTABE 'S' TESTEN
410 BEQ STIMMT;JA, DANN !S BEFEHL
420 JMP SYNTAX;SONST SYNTAX ERROR AUSGEBEN, FERTIG
430 ; --- !S BEFEHL - TON AUSGEBEN
440 STIMMT LDA #0:LDX #24;SID-REGISTER LOESCHEN
450 CLRSID STA SID,X:DEX;LOESCH-SCHLEIFE:BPL CLRSID;ALLE REGISTER AUF NULL
460 LDA #15:STA SID+24;LAUTSTAERKE 15
470 LDA #100:STA SID+1;TONHOEHE FESTLEGEN
480 LDA #240:STA SID+6;WELLENFORM
490 LDA #17:STA SID+4;TON EINSCHALTEN
500 LDX #0:LDY #0;WARTESCHLEIFE
510 WAIT NOP:DEX:BNE WAIT:DEY:BNE WAIT;WARTET CA. 1/2 SEKUNDE
520 LDA #16:STA SID+4;TON AUSSCHALTEN
530 JSR CHRGET:JMP INTER;BEFEHL FERTIG, WEITER WIE GEHABT